package me.alex.learnkotlin.learnKT7

/**
 * 学习 延迟初始化 和 密封类
 */

lateinit var lateInitData: LateInitData
fun main() {
    //1.1 延迟初始化
    //关键字 lateinit 可以让对象延迟初始化不需要 =null 避免后续使用需要判空
    //需要注意基本类型无法使用latainit 会提示错误
    if (!::lateInitData.isInitialized) {
        println("lateInitData初始化状态 : ${::lateInitData.isInitialized}")
        lateInitData = LateInitData()
        //::lateInitData.isInitialized 是固定写法 无法更改
        println("lateInitData初始化状态 : ${::lateInitData.isInitialized}")
    }


    //1.2 密封类
    //todo 没学会 下次补充

}

